@colorPrimary: #D10034;

@fontsizeSmall: 12px;
@fontsizePrimary: 13px;
@fontsizeLarge: 18px;
@fontsizeLargest: 26px;

@import "../../../../resources/assets/lib/css/html";
@import "../../../../resources/assets/lib/css/pager";
@import "../../../../resources/assets/lib/css/animate";


body, html {
  background: #FFF;
  font-size: 13px;
}

.animated {
  opacity: 0;
}

.pb-container {
  max-width: 1000px;
  margin: 0 auto;
  font-size: @fontsizePrimary;
}

.pb-empty {
  line-height: 100px;
  text-align: center;
  color: #999;
}

.pb-page {
  text-align: center;
}

.uk-button-main {
  background: @colorPrimary;
  color: #FFF;
  text-shadow: none;

  &:hover {
    background: @colorPrimary;
    color: #FFF;
  }
}

.pb-super-page-view {
  display: block;
  height: 100px;
  line-height: 100px;
  background: #EEE;
  position: relative;
  margin-bottom: 20px;
  border-radius: 3px;

  .image {
    width: 100%;
    height: 100px;
    position: absolute;
    top: 0px;
    left: 0px;
    background: center no-repeat;
    background-size: contain;
  }

  .name {
    width: 100%;
    height: 100px;
    position: absolute;
    top: 0px;
    left: 0px;
    line-height: 100px;
    color: #FFF;
    background: rgba(0, 0, 0, 0.4);
    text-align: center;
  }
}

.pb-super-page-preview {
  padding: 0 0 0 200px;
  background: #EEE;
  border: 1px solid #EEE;
  overflow: hidden;
  border-radius: 5px;

  .name {
    margin: 0 0 0 -200px;
    float: left;
    width: 200px;
    line-height: 20px;
    box-sizing: border-box;
    padding: 5px 10px;
    height: 50px;
  }

  .image {
    float: left;
    width: 180px;
    height: 100px;
    background: #EEE;
    background: center no-repeat;
    background-size: contain;
    margin: 50px 0 0 -190px;
  }

  .content {
    background: #FFF;
    min-height: 70px;
    padding: 10px;

    .line {
      background: #EEE;
      border-radius: 3px;
      margin-bottom: 5px;

      .label {
        font-weight: bold;
        padding: 5px 10px;
        border-bottom: 1px solid #FFF;
      }

      .field {
        padding: 5px 10px;

        img {
          max-width: 50px;
          max-height: 50px;
        }
      }
    }
  }
}

.pb-super-page {
  margin-top: -40px;
}

.pb-sp-item {
  padding: 40px 0 0 0;

  .t-title {
    text-align: center;
    font-size: @fontsizeLargest;
    line-height: @fontsizeLargest*1.5;
  }

  .t-sub-title {
    font-size: @fontsizeLarge;
    line-height: @fontsizeLarge*2;
    text-align: center;
    color: #999;
    padding: 0 10px;
  }

  .t-list {
    .t-item {
      &.t-item-mask-auto-hide {
        .mask {
          display: none;
        }

        &:hover {
          .mask {
            display: block;
          }
        }
      }
    }
  }
}

.t-item-ratio-6-1 {
  &:after {
    content: '';
    display: block;
    margin-top: 16.66667%;
  }
}

.t-item-ratio-3-1 {
  &:after {
    content: '';
    display: block;
    margin-top: 33.33333%;
  }
}

.t-item-ratio-2-1 {
  &:after {
    content: '';
    display: block;
    margin-top: 50%;
  }
}

.t-item-ratio-5-3 {
  &:after {
    content: '';
    display: block;
    margin-top: 60%;
  }
}

.t-item-ratio-1-1 {
  &:after {
    content: '';
    display: block;
    margin-top: 100%;
  }
}

.t-item-ratio-3-5 {
  &:after {
    content: '';
    display: block;
    margin-top: 160%;
  }
}

.t-item-ratio-1-2 {
  &:after {
    content: '';
    display: block;
    margin-top: 200%;
  }
}

.pb-sp-item-list-a {
  .t-list {
    .t-item {
      background: #EEE center no-repeat;
      background-size: cover;
      overflow: hidden;
      border-radius: 5px;
      margin-top: 10px;
      position: relative;
      border: 1px solid #EEE;

      .mask {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.4);
        text-align: center;

        .content {
          margin: 0;
          position: absolute;
          top: 50%;
          left: 0;
          right: 0;
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);

          .title {
            color: #FFF;
            font-size: @fontsizeLarge;
            line-height: @fontsizeLarge*2;
          }

          .sub-title {
            color: #FFF;
            font-size: @fontsizePrimary;
            line-height: @fontsizeLarge*1.3;
          }

          .button {
            margin-top: @fontsizePrimary*2;

            a {
              display: inline-block;
              font-size: @fontsizePrimary;
              line-height: @fontsizePrimary*2;
              border: 1px solid #FFF;
              border-radius: @fontsizePrimary;
              color: #FFF;
              padding: 0 @fontsizePrimary;
              text-decoration: none;
            }
          }
        }
      }
    }
  }
}

.pb-sp-item-category-list-a {
  .category {
    text-align: center;
    padding: 0 0 20px 0;

    .item {
      border-radius: 5px;
      display: inline-block;
      line-height: 30px;
      padding: 0 10px;
      border: 1px dashed @colorPrimary;
      color: @colorPrimary;
      text-decoration: none;

      &.active {
        background: @colorPrimary;
        color: #FFF;
      }
    }
  }

  .t-list {
    .item {
      display: none;

      &.active {
        display: block;
      }
    }

    .uk-grid > * {
      padding: 0;
    }

    .t-item {
      background: #EEE center no-repeat;
      background-size: cover;
      overflow: hidden;
      border-radius: 5px;
      margin-top: 10px;
      position: relative;
      border: 1px solid #EEE;

      .mask {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.4);
        text-align: center;

        .content {
          margin: 0;
          position: absolute;
          top: 50%;
          left: 0;
          right: 0;
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);

          .title {
            color: #FFF;
            font-size: @fontsizeLarge;
            line-height: @fontsizeLarge*2;
          }

          .sub-title {
            color: #FFF;
            font-size: @fontsizePrimary;
            line-height: @fontsizeLarge*1.3;
          }

          .button {
            margin-top: @fontsizePrimary*2;

            a {
              display: inline-block;
              font-size: @fontsizePrimary;
              line-height: @fontsizePrimary*2;
              border: 1px solid #FFF;
              border-radius: @fontsizePrimary;
              color: #FFF;
              padding: 0 @fontsizePrimary;
              text-decoration: none;
            }
          }
        }
      }
    }
  }
}

.pb-sp-item-list-b {
  .t-list {
    .t-item {
      border: 1px solid #EEE;
      border-radius: 5px;
      padding: 20px;
      margin-top: 10px;

      &.hover {
        .image.hover {
          display: none;
        }

        &:hover {
          .image {
            display: none !important;
          }

          .image.hover {
            display: block !important;
          }
        }
      }

      &:hover {
        box-shadow: #CCC 0 0 10px;
      }

      .image {
        background: transparent center no-repeat;
        background-size: contain;
        overflow: hidden;
        border-radius: 5px;
      }

      .title {
        font-size: @fontsizeLarge;
        line-height: @fontsizeLarge*2;
      }

      .content {
        font-size: @fontsizePrimary;
        line-height: @fontsizePrimary*1.5;
        margin-top: @fontsizeLarge;

        p {
          line-height: @fontsizePrimary*1.5;
          margin: 0;
          padding: 0;
        }
      }
    }
  }
}

.pb-sp-item-images-a {
  .t-list {
    .uk-grid > * {
      padding: 0;
    }

    .t-item {
      display: block;
      background: transparent center no-repeat;
      background-size: contain;
      overflow: hidden;
      border-radius: 5px;
    }
  }
}

.pb-sp-item-list-c {
  .t-list {
    .t-item {
      margin-top: 10px;
      border: 1px solid #F2F2F2;

      .image {
        background: transparent center no-repeat;
        background-size: cover;
        overflow: hidden;
      }

      .box {
        padding: 20px;

        .title {
          font-size: @fontsizeLarge;
          line-height: @fontsizeLargest;
        }

        .content {
          font-size: @fontsizePrimary;
          line-height: @fontsizePrimary*2;
          margin-top: 20px;

          p {
            line-height: @fontsizePrimary*2;
            margin: 0;
            padding: 0;
          }
        }
      }
    }
  }
}

.pb-sp-item-contact {
  .t-list {
    text-align: center;

    .t-item {
      display: inline-block;
      width: 100%;
      max-width: 300px;
      border: 1px solid #EEE;
      border-radius: 5px;
      padding: 10px;
      margin-top: 10px;

      .image {
        background: transparent center no-repeat;
        background-size: contain;
        overflow: hidden;
        border-radius: 5px;
        position: relative;

        img {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          opacity: 0;
        }
      }

      .name {
        text-align: left;
        font-size: @fontsizeLarge;
        line-height: @fontsizeLarge*2;
      }

      .value {
        text-align: left;
        font-size: @fontsizePrimary;
        line-height: @fontsizePrimary*1.5;
        margin-top: @fontsizeLarge;

        a {
          color: #333;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .pb-sp-item-contact {
    .t-list {
      .t-item {
        width: 40%;

        .name {
          text-align: center;
        }

        .value {
          text-align: center;
        }
      }
    }
  }
}

.pb-sp-item-contact-b {
  background: #F2F2F2;
  margin-top: 20px;
  padding: 20px;

  .message {
    background: #F2F2F2;
    padding: 20px;
    height: 250px;
    box-sizing: border-box;
    border-radius: 5px;

    .label {
      margin-top: 20px;
    }

    .input {
      padding: 10px 0 0 0;
    }
  }

  .image {
    height: 250px;
    overflow: hidden;
    background: #FFF no-repeat center;
    background-size: cover;
  }
}

@media (max-width: 768px) {
  .pb-sp-item-contact-b {
    .message {
      height: auto;
    }

    .image {
      height: auto;

      img {
        height: auto;
      }
    }
  }
}

.pb-sp-item-list-d {
  .t-list {
    padding: 0 10px;

    .t-item {
      border: 1px solid #EEE;
      border-radius: 5px;
      padding: 20px 10px;
      text-align: center;
      margin-bottom: 10px;

      &.hover {
        .image.hover {
          display: none;
        }

        &:hover {
          .image {
            display: none !important;
          }

          .image.hover {
            display: block !important;
          }
        }
      }

      .icon {
        width: 40%;
        margin: 0 auto;

        .image {
          background: transparent center no-repeat;
          background-size: contain;
          overflow: hidden;
          border-radius: 5px;

          &.hover {
            display: none;
          }
        }
      }

      .title {
        font-size: @fontsizeLarge;
        line-height: @fontsizeLarge*1.2;
        padding: 10px 0 0 0;
      }

      .content {
        font-size: @fontsizePrimary;
        line-height: @fontsizePrimary*1.5;
        padding: 10px 0 0 0;

        p {
          line-height: @fontsizePrimary*1.5;
          margin: 0;
          padding: 0;
        }
      }
    }
  }
}

.pb-sp-item-category-list-b {
  .t-list {
    padding: 0 10px;
  }

  .item {
    border: 1px solid #EEE;
    border-radius: 5px;
    margin: 10px 0;
    padding: 10px;

    .t-top {
      padding: 10px 0;
      text-align: center;

      .image {
        background: no-repeat center;
        background-size: cover;
        width: 50%;
        margin: 0 auto;
        overflow: hidden;
      }

      .name {
        color: #FFF;
        font-size: @fontsizePrimary;
        padding: 10px 0 0 0;
        color: @colorPrimary;
      }
    }

    .t-item {
      margin: 20px 0 20px 0;
      border-right: 1px solid #EEE;

      .title {
        font-size: @fontsizePrimary;
      }

      .content {
        font-size: @fontsizeSmall;
        padding: 20px 0 0 0;
      }
    }
  }
}

header {
  .logo {
    display: block;
    text-decoration: none;

    img {
      height: 100px;
      vertical-align: middle;
    }

    span {
      display: inline;
      font-size: 30px;
      line-height: 100px;
      color: #333;
      vertical-align: middle;
    }
  }

  .text {
    border-left: 1px solid #ccc;
    padding: 0 0 0 20px;
    margin: 20px 0 0 0;

    .text1 {
      font-size: @fontsizeLarge;
      color: @colorPrimary;
      line-height: 30px;
    }

    .text2 {
      line-height: 20px;
      font-size: @fontsizePrimary;
      color: #999;
    }
  }

  .tel {
    margin: 20px 0 0 0;

    .icon {
      float: left;
      font-size: 40px;
      line-height: 50px;
      color: @colorPrimary;
      margin-right: 20px;
    }

    .name {
      color: #999;
      line-height: 20px;
    }

    .value {
      color: @colorPrimary;
      font-size: @fontsizeLarge;
      line-height: 30px;
    }
  }
}

@media (max-width: 768px) {
  header {
    .logo {
      text-align: center;

      img {
        height: 50px;
      }

      span {
        font-size: 20px;
        line-height: 50px;
      }
    }

    .text {
      text-align: center;

      .text1 {
        font-size: @fontsizePrimary;
        line-height: 20px;
      }

      .text2 {
        line-height: 20px;
        font-size: @fontsizePrimary;
      }
    }

    .tel {
      text-align: center;
      margin: 10px 0 10px 0;

      .icon {
        display: none;
      }
    }
  }
}

footer {
  background: #2A2D3A;
  padding: 20px 0;
  margin-top: 20px;

  a {
    color: #FFF;
  }

  .nav {
    text-align: center;

    a {
      line-height: 30px;
      display: inline-block;
      text-decoration: none;
      margin-right: 10px;

      &:hover {
        color: #FFF;
      }
    }
  }

  .copyright {
    text-align: center;
    color: #FFF;
    border-top: 1px dashed #CCC;
    padding: 20px 0 0 0;
    margin-top: 20px;
  }
}

.pb-nav {
  background: @colorPrimary;
  height: 50px;
  text-align: right;

  a {
    display: inline-block;
    line-height: 50px;
    color: #FFF;
    padding: 0 20px;
    text-decoration: none;

    &:hover, &.active {
      background: darken(@colorPrimary, 5%);
    }
  }
}

@media (max-width: 768px) {
  .pb-nav {
    text-align: center;

    a {
      padding: 0 10px;
    }
  }
}

.pb-banner {
  width: 100%;
  overflow: hidden;

  .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent;
    background-position: center;

    &:after {
      content: '';
      display: block;
      margin-top: 40%;
    }
  }

  .swiper-pagination {
    .swiper-pagination-bullet-active {
      background: #FFF;
    }
  }
}

@media (max-width: 768px) {
  .pb-banner {
    .swiper-slide {
      &:after {
        margin-top: 50%;
      }
    }
  }
}

.pb-book {
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  display: none;

  .dialog {
    max-width: 400px;
    border-radius: 5px;
    background: #FFF;
    padding: 20px;
    margin: 0px auto 0 auto;
    position: relative;

    .close {
      cursor: pointer;
      position: absolute;
      right: 10px;
      top: 10px;
      line-height: @fontsizeLarge*2;
      width: @fontsizeLarge*2;
      text-align: center;
      color: #999;
    }

    .head {
      font-size: @fontsizeLarge;
      line-height: @fontsizeLarge*2;
      border-bottom: 1px dashed #CCC;
    }

    .body {
      .line {
        padding: 10px 0 0 0;

        .label {
          padding: 0 0 5px 0;
        }

        .field {

        }
      }
    }
  }
}

.pb-page-background {
  .background {
    background: transparent no-repeat center;
    background-size: cover;

    .title {
      line-height: @fontsizeLargest*2;
      color: #666;
      font-weight: bold;
      text-align: center;
      font-size: @fontsizeLargest;
      padding-top: 30px;
    }
  }
}

.pb-page-content {
  .pb-container {
    max-width: 600px;
  }

  .content {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .pb-page-content {
    .content {
      padding: 10px;
    }
  }
}

.pb-news-list {
  .item {
    margin: 30px 10px 0px 10px;
    border: 1px solid #EEE;
    border-radius: 5px;
    display: block;
    color: #333;
    text-decoration: none;

    &:hover {
      box-shadow: #999 0 0 5px;
    }

    .cover {
      background: #EEE no-repeat center;
      background-size: cover;
      overflow: hidden;
      border-radius: 5px;
    }

    .title {
      font-size: @fontsizeLarge;
      text-align: center;
      line-height: @fontsizeLarge;
      padding: 10px;
    }

    .desc {
      color: #999;
      padding: 0 10px 0px 10px;
      line-height: @fontsizePrimary*1.55;
      height: @fontsizePrimary*1.5*3;
      overflow: hidden;
      margin-bottom: 10px;
    }
  }
}

.pb-news-view {
  .pb-container {
    max-width: 600px;
  }

  .title {
    font-size: @fontsizeLarge;
    text-align: center;
    line-height: @fontsizeLarge*1.5;
    padding: 20px 0;
  }

  .info {
    color: #999;
    text-align: center;
  }

  .content {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .pb-news-view {
    .title {
      padding: 10px;
    }

    .info {
      padding: 10px;
    }

    .content {
      padding: 10px;
    }
  }
}

.pb-product-category {
  .list {
    padding: 20px;

    .item {
      border-radius: 5px;
      display: inline-block;
      line-height: 30px;
      padding: 0 10px;
      border: 1px dashed @colorPrimary;
      color: @colorPrimary;
      text-decoration: none;

      &.active {
        background: @colorPrimary;
        color: #FFF;
      }
    }
  }
}

.pb-product-view {
  margin-top: 20px;

  .title {
    font-size: @fontsizeLarge;
    line-height: @fontsizeLarge*1.5;
  }

  .cover {
    border: 1px solid #EEE;
    text-align: center;
    background: #EEE;
    border-radius: 5px;

    img {
      max-width: 100%;
    }
  }

  .info {
    padding: 20px 0 0 0;
    line-height: 2em;

    .line {
      padding: 10px 0 0 0;
    }
  }

  .content {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .pb-product-view {
    .title {
      padding: 10px;
    }

    .info {
      padding: 10px;
    }

    .content {
      padding: 10px;
    }
  }
}

.pb-case-category {
  .list {
    padding: 20px;

    .item {
      border-radius: 5px;
      display: inline-block;
      line-height: 30px;
      padding: 0 10px;
      border: 1px dashed @colorPrimary;
      color: @colorPrimary;
      text-decoration: none;

      &.active {
        background: @colorPrimary;
        color: #FFF;
      }
    }
  }
}

.pb-case-view {
  margin-top: 20px;
  max-width: 800px;
  margin: 0 auto;

  .title {
    font-size: @fontsizeLarge;
    line-height: @fontsizeLarge*1.5;
    margin-top: 20px;
  }

  .cover {
    border: 1px solid #EEE;
    text-align: center;
    background: #EEE;
    border-radius: 5px;

    img {
      max-width: 100%;
    }
  }

  .info {
    padding: 20px 0 0 0;
    line-height: 2em;

    .line {
      padding: 10px 0 0 0;
    }
  }

  .content {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .pb-case-view {
    .title {
      padding: 10px;
    }

    .info {
      padding: 10px;
    }

    .content {
      padding: 10px;
    }
  }
}

.pb-job-list {
  padding: 20px 0 0 0;

  .pb-container {
    max-width: 600px;
  }

  .item {
    display: block;
    color: #333;
    text-decoration: none;
    overflow: hidden;
    border-bottom: 1px dashed #CCC;
    padding: 10px 0;

    .date {
      float: right;
      color: #999;
    }
  }
}

@media (max-width: 768px) {
  .pb-job-list {
    .item {
      margin: 10px;
    }
  }
}

.pb-job-view {
  .pb-container {
    max-width: 600px;
  }

  .title {
    font-size: @fontsizeLarge;
    text-align: center;
    line-height: @fontsizeLarge*1.5;
    padding: 20px 0;
  }

  .info {
    color: #999;
    text-align: center;
  }

  .content {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .pb-job-view {
    .content {
      padding: 10px;
    }
  }
}

.pb-partner {
  padding: 40px 0 0 0;

  .title {
    text-align: center;
    font-size: @fontsizeLargest;
    line-height: @fontsizeLargest*1.5;
  }

  .list {
    padding: 20px 0 0 0;

    .item {
      margin-top: 10px;
      padding: 10px;
      border-radius: 5px;
      background: #EEE;

      .image {
        display: block;
        overflow: hidden;
        background: transparent center no-repeat;
        background-size: contain;
      }
    }
  }
}

.pb-dialog {
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  display: none;

  .dialog {
    max-width: 400px;
    border-radius: 5px;
    background: #FFF;
    padding: 20px;
    margin: 0px auto 0 auto;
    position: relative;

    .close {
      cursor: pointer;
      position: absolute;
      right: 10px;
      top: 10px;
      line-height: @fontsizeLarge*2;
      width: @fontsizeLarge*2;
      text-align: center;
      color: #999;
    }

    .head {
      font-size: @fontsizeLarge;
      line-height: @fontsizeLarge*2;
      border-bottom: 1px dashed #CCC;
    }

    .body {
      .line {
        padding: 10px 0 0 0;

        .label {
          padding: 0 0 5px 0;
        }

        .field {

        }
      }
    }
  }
}
